/********************************
功  能：独立按键外部中断方式控制流水灯
编程人：ZZT
版  本：V1.0
时  间：2023/12/22
**********************************/
//头文件声明
#include <Reg51.h>

//IO口的声明
sbit LED = P2^0;

//函数声明
void EX0_Init(void);//初始化外部中断0

/**********************************
函数名：main
功  能：完成程序模块的调用
参  数：无
返回值：无
***********************************/
void main()
{
	EX0_Init();
	while(1)
	{
		
	}
}

/**********************************
函数名：EX0_Init
功  能：外部中断0 初始化
参  数：无
返回值：无
***********************************/
void EX0_Init(void)
{
	//1、设置触发方式 外部中断0
	IT0 = 1;//设置 下降沿触发 TCON
	EX0 = 1;//IE
	EA = 1;
}

/************************************
1、中断服务函数一定是一个没有返回值的函数
2、中断服务函数一定是没有参数的函数
3、中断服务函数函数名后跟关键字 interrupt
4、interrupt n 0 - 4  5个中断源     8 * n + 0003H 
   0003H INT0 00BH T0 0013H INT1 001BH T1 0023H ES
5、中断服务函数不能被主程序或其他程序所调用
6、n 后面 跟 using m (0 - 3) 工作寄存器组
***************************************/
void EX0_ISR(void) interrupt 0
{
	LED = ~LED;
}